import { MappingData } from './MappingData'

const FlowMenuAPIFieldJugdeValue = ['RADIO', 'SELECT', 'SELECTM', 'TREE', 'TREEM', 'CASCADER', 'RADIOLIST', 'CHECKBOXLIST']
// 主题流程
const FlowThemeConfig = [
    { span: 24, formType: 'RADIO', name: 'template', label: '主题模板', rules: true, valueEnum: MappingData.Theme__Layout },
    { span: 24, formType: 'COLOR', name: 'color', label: '主题颜色', rules: true },
    { span: 24, formType: 'COLOR', name: 'maskColor', label: '遮罩颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'maskPx', label: '遮罩模糊', rules: true },
    { span: 24, formType: 'RADIO', name: 'backType', label: '背景类型', rules: true, valueEnum: MappingData.Theme__BackType },
    { span: 24, formType: 'COLOR', name: 'backColor', label: '背景颜色', jugdeField: 'backType', jugdeValue: ['Color'] },
    { span: 24, formType: 'SELECT', name: 'backImage', label: '背景图片', valueEnum: MappingData.Theme__BackImage, jugdeField: 'backType', jugdeValue: ['Image'] },
    { span: 24, formType: 'SELECT', name: 'backGrundType', label: '背景墙', valueEnum: MappingData.Theme__BackGrund, jugdeField: 'backType', jugdeValue: ['Ground'] },
    { span: 24, formType: 'TempBackGrund', name: 'grundStyle', label: '墙设置', jugdeField: 'backType', jugdeValue: ['Ground'], backGrundType: 'backGrundType' },
    { span: 24, formType: 'SELECT', name: 'loadPage', label: '加载页面', valueEnum: MappingData.Theme__Loading },
    { span: 24, formType: 'SELECT', name: 'signPage', label: '登录窗口', valueEnum: MappingData.Theme__SignPage },
]
const FlowThemeLogoBack = [
    { span: 24, formType: 'COLOR', name: 'logoBack', label: '背景颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'logoPx', label: '背景高斯', rules: true },
    { span: 24, formType: 'NUMBER', name: 'logoRadio', label: '背景圆角', rules: true },
    { span: 24, formType: 'NUMBER', name: 'logoMargin', label: '外边距', rules: true },
    { span: 24, formType: 'NUMBER', name: 'logoPadding', label: '内填充', rules: true },
    { span: 24, formType: 'SELECT', name: 'boxShadow', label: '阴影等级', valueEnum: MappingData.Style__BoxShadow },
]
const FlowThemeLogoImage = [
    { span: 24, formType: 'INPUT', name: 'logo', label: '图标地址', rules: true },
    { span: 24, formType: 'RADIO', name: 'switchLogo', label: '是否切换', rules: true, valueEnum: MappingData.IsYesBool },
    { span: 24, formType: 'INPUT', name: 'switchUrl', label: '切换地址', rules: true, jugdeField: 'switchLogo', jugdeValue: [true] },
    { span: 24, formType: 'NUMBER', name: 'logoSize', label: '图标尺寸', rules: true },
    { span: 24, formType: 'NUMBER', name: 'logoShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'logoShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'logoShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'logoShadowB', label: '阴影颜色', rules: true },
]
const FlowThemeLogoContent = [
    { span: 24, formType: 'INPUT', name: 'title', label: '标题内容', rules: true },
    { span: 24, formType: 'COLOR', name: 'fontColor', label: '标题颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontSize', label: '标题字号', rules: true },
    { span: 24, formType: 'SELECT', name: 'fontFamily', label: '标题字体', valueEnum: MappingData.Font__Family },
    { span: 24, formType: 'RADIO', name: 'fontWeight', label: '标题加粗', rules: true, valueEnum: MappingData.Font__WeightInt },
    { span: 24, formType: 'RADIO', name: 'fontStyle', label: '标题倾斜', rules: true, valueEnum: MappingData.Font__Style },
    { span: 24, formType: 'NUMBER', name: 'fontShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'fontShadowB', label: '阴影颜色', rules: true },
]
const FlowThemeMenuBack = [
    { span: 24, formType: 'RADIO', name: 'isFold', label: '默认状态', rules: true, valueEnum: MappingData.IsOpenBool },
    { span: 24, formType: 'NUMBER', name: 'menuMax', label: '最大宽度', rules: true },
    { span: 24, formType: 'COLOR', name: 'menuBack', label: '图标背景色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'menuPx', label: '图标高斯', rules: true },
    { span: 24, formType: 'NUMBER', name: 'menuRadio', label: '图标圆角', rules: true },
    { span: 24, formType: 'SELECT', name: 'menuShadow', label: '阴影等级', valueEnum: MappingData.Style__BoxShadow },
    // 选中样式
]
const FlowThemeMenuIcon = [
    { span: 24, formType: 'COLOR', name: 'iconColor', label: '图标颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconSize', label: '图标尺寸', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconIndex', label: '图标间距', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'iconShadowB', label: '阴影颜色', rules: true },

]
const FlowThemeMenuText = [
    { span: 24, formType: 'COLOR', name: 'fontColor', label: '标题颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontSize', label: '标题字号', rules: true },
    { span: 24, formType: 'SELECT', name: 'fontFamily', label: '标题字体', valueEnum: MappingData.Font__Family },
    { span: 24, formType: 'RADIO', name: 'fontWeight', label: '标题加粗', rules: true, valueEnum: MappingData.Font__WeightInt },
    { span: 24, formType: 'RADIO', name: 'fontStyle', label: '标题倾斜', rules: true, valueEnum: MappingData.Font__Style },
    { span: 24, formType: 'NUMBER', name: 'fontShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'fontShadowB', label: '阴影颜色', rules: true },
]
const FlowThemeHeadBack = [
    { span: 24, formType: 'COLOR', name: 'commomColor', label: '背景颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'commomPx', label: '背景高斯', rules: true },
    { span: 24, formType: 'NUMBER', name: 'commomRadius', label: '背景圆角', rules: true },
    { span: 24, formType: 'NUMBER', name: 'commomMargin', label: '外边距', rules: true },
    { span: 24, formType: 'NUMBER', name: 'commomPadding', label: '内填充', rules: true },
    { span: 24, formType: 'SELECT', name: 'commomShadow', label: '阴影等级', valueEnum: MappingData.Style__BoxShadow },
]
const FlowThemeHeadTitle = [
    { span: 24, formType: 'INPUT', name: 'title', label: '标题内容', rules: true },
    { span: 24, formType: 'COLOR', name: 'fontColor', label: '标题颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontSize', label: '标题字号', rules: true },
    { span: 24, formType: 'SELECT', name: 'fontFamily', label: '标题字体', valueEnum: MappingData.Font__Family },
    { span: 24, formType: 'RADIO', name: 'fontWeight', label: '标题加粗', rules: true, valueEnum: MappingData.Font__WeightInt },
    { span: 24, formType: 'RADIO', name: 'fontStyle', label: '标题倾斜', rules: true, valueEnum: MappingData.Font__Style },
    { span: 24, formType: 'NUMBER', name: 'fontShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'fontShadowB', label: '阴影颜色', rules: true },
]
const FlowThemeHeadOptions = [
    { span: 24, formType: 'SELECTM', name: 'optionsList', label: '操作选择', valueEnum: MappingData.Theme__HeadOptions },
    { formType: 'TempTitle', label: '图标设置', name: 1 },
    { span: 24, formType: 'COLOR', name: 'iconColor', label: '图标颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconSize', label: '图标尺寸', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'iconShadowB', label: '阴影颜色', rules: true },
    { formType: 'TempTitle', label: '背景设置', name: 2 },
    { span: 24, formType: 'COLOR', name: 'backColor', label: '背景颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'backSize', label: '背景尺寸', rules: true },
    { span: 24, formType: 'NUMBER', name: 'backRadio', label: '背景圆角', rules: true },
    { span: 24, formType: 'NUMBER', name: 'backIndex', label: '背景间距', rules: true },
    { span: 24, formType: 'NUMBER', name: 'backShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'backShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'backShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'backShadowB', label: '阴影颜色', rules: true },
    { formType: 'TempTitle', label: '提示背景', name: 3 },
    { span: 24, formType: 'COLOR', name: 'toolBack', label: '提示背景', rules: true },
    { span: 24, formType: 'NUMBER', name: 'toolShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'toolShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'toolShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'toolShadowB', label: '阴影颜色', rules: true },
    { formType: 'TempTitle', label: '提示文字', name: 4 },
    { span: 24, formType: 'COLOR', name: 'toolColor', label: '提示文字', rules: true },
    { span: 24, formType: 'NUMBER', name: 'toolSize', label: '提示字号', rules: true },
    { span: 24, formType: 'SELECT', name: 'toolFamily', label: '提示字体', valueEnum: MappingData.Font__Family },
    { span: 24, formType: 'RADIO', name: 'toolWeight', label: '提示加粗', rules: true, valueEnum: MappingData.Font__WeightInt },
    { span: 24, formType: 'RADIO', name: 'toolStyle', label: '提示倾斜', rules: true, valueEnum: MappingData.Font__Style },
]
const FlowThemeHeadUserInfo = [
    { formType: 'TempTitle', label: '基础设置', name: 1 },
    { span: 24, formType: 'RADIO', name: 'trigger', label: '触发方式', rules: true, valueEnum: MappingData.Theme__UserInfoTrigger },
    { span: 24, formType: 'SELECTM', name: 'userList', label: '操作选择', valueEnum: MappingData.Theme__UserOptions },
    { span: 24, formType: 'RADIO', name: 'shape', label: '头像形状', rules: true, valueEnum: MappingData.Theme__UserInfoShape },
    { span: 24, formType: 'NUMBER', name: 'avatarSize', label: '头像尺寸', rules: true },
    { span: 24, formType: 'RADIO', name: 'userRoleIsOut', label: '外层角色', rules: true, valueEnum: MappingData.IsShowBool },
    { span: 24, formType: 'RADIO', name: 'userNameIsOut', label: '外层用户', rules: true, valueEnum: MappingData.IsShowBool },
    { span: 24, formType: 'RADIO', name: 'userAvatarIsIn', label: '内层头像', rules: true, valueEnum: MappingData.IsShowBool },
    { span: 24, formType: 'RADIO', name: 'userIsSignOut', label: '退出选项', rules: true, valueEnum: MappingData.IsShowBool },
    { formType: 'TempTitle', label: '角色文字', name: 2 },
    { span: 24, formType: 'COLOR', name: 'roleColor', label: '文字颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'roleSize', label: '标题字号', rules: true },
    { span: 24, formType: 'SELECT', name: 'roleFamily', label: '标题字体', valueEnum: MappingData.Font__Family },
    { span: 24, formType: 'RADIO', name: 'roleWeight', label: '标题加粗', rules: true, valueEnum: MappingData.Font__WeightInt },
    { span: 24, formType: 'RADIO', name: 'roleStyle', label: '标题倾斜', rules: true, valueEnum: MappingData.Font__Style },
    { span: 24, formType: 'NUMBER', name: 'roleShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'roleShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'roleShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'roleShadowB', label: '阴影颜色', rules: true },
    { formType: 'TempTitle', label: '用户文字', name: 3 },
    { span: 24, formType: 'COLOR', name: 'nameColor', label: '文字颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'nameSize', label: '用户字号', rules: true },
    { span: 24, formType: 'SELECT', name: 'nameFamily', label: '用户字体', valueEnum: MappingData.Font__Family },
    { span: 24, formType: 'RADIO', name: 'nameWeight', label: '用户加粗', rules: true, valueEnum: MappingData.Font__WeightInt },
    { span: 24, formType: 'RADIO', name: 'nameStyle', label: '用户倾斜', rules: true, valueEnum: MappingData.Font__Style },
    { span: 24, formType: 'NUMBER', name: 'nameShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'nameShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'nameShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'nameShadowB', label: '阴影颜色', rules: true },
]
const FlowThemeBodyBack = [
    { span: 24, formType: 'COLOR', name: 'bodyColor', label: '背景颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'bodyPx', label: '背景高斯', rules: true },
    { span: 24, formType: 'NUMBER', name: 'bodyRadius', label: '背景圆角', rules: true },
    { span: 24, formType: 'NUMBER', name: 'bodyMargin', label: '外边距', rules: true },
    { span: 24, formType: 'NUMBER', name: 'bodyPadding', label: '内填充', rules: true },
    { span: 24, formType: 'SELECT', name: 'boxShadow', label: '背景阴影', valueEnum: MappingData.Style__BoxShadow },
]
const FlowThemeBodyTabs = [
    { span: 24, formType: 'NUMBER', name: 'tabsMax', label: '最大标签数', rules: true, tooltip: '数值0为不限制' },
    { span: 24, formType: 'RADIO', name: 'tabsIsAll', label: '全部关闭', rules: true, valueEnum: MappingData.IsShowBool },
    { span: 24, formType: 'COLOR', name: 'tabsBack', label: '默认背景', rules: true },
    { span: 24, formType: 'COLOR', name: 'tabsActive', label: '选中背景', rules: true },
    { span: 24, formType: 'COLOR', name: 'tabsBorderColor', label: '边框颜色', rules: true },
    { span: 24, formType: 'COLOR', name: 'bodyColor', label: '背景颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'tabsRadio', label: '边框圆角', rules: true },
    { span: 24, formType: 'RADIO', name: 'tabsBorderType', label: '边框类型', rules: true, valueEnum: MappingData.Style__BorderType },
    { formType: 'TempTitle', label: '标签图标', name: 1 },
    { span: 24, formType: 'RADIO', name: 'iconState', label: '图标状态', rules: true, valueEnum: MappingData.IsShowBool },
    { span: 24, formType: 'NUMBER', name: 'iconSize', label: '图标尺寸', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconIndex', label: '图标间距', rules: true },
    { formType: 'TempTitle', label: '标签文字', name: 2 },
    { span: 24, formType: 'COLOR', name: 'fontColor', label: '标题颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontSize', label: '标题字号', rules: true },
    { span: 24, formType: 'SELECT', name: 'fontFamily', label: '标题字体', valueEnum: MappingData.Font__Family },
    { span: 24, formType: 'RADIO', name: 'fontWeight', label: '标题加粗', rules: true, valueEnum: MappingData.Font__WeightInt },
    { span: 24, formType: 'RADIO', name: 'fontStyle', label: '标题倾斜', rules: true, valueEnum: MappingData.Font__Style },
]

// Todo 路由设置
const FlowMenuAPIInterface = [
    { formType: 'TempTitle', label: '接口信息', name: 1 },
    { span: 24, formType: 'INPUT', name: 'fieldMenu', label: '菜单字段', rules: true, tooltip: '接口字段MENU' },
    { span: 24, formType: 'INPUT', name: 'apiUrl', label: '接口地址', rules: true, tooltip: '获取数据接口' },
    { span: 24, formType: 'RADIO', name: 'method', label: '请求方式', rules: true, valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'params', label: '额外参数', tooltip: '每次请求自动带入参数' },
    { span: 24, formType: 'RADIO', name: 'isMenuUuid', label: '是否使用菜单Uuid', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'uuidParams', label: '菜单Uuid参数名称', jugdeField: 'isMenuUuid', jugdeValue: [true] },

    { formType: 'TempTitle', label: '分页设置', name: 3 },
    { span: 24, formType: 'NUMBER', name: 'pageSize', label: '默认页码', rules: true, tooltip: '每页默认获取条数' },
    { span: 24, formType: 'INPUT', name: 'pageOptions', label: '页码列表', rules: true, tooltip: '逗号分隔.只输入0不显示分页器!' },
    {
        span: 24, formType: 'RADIO', name: 'PaginationMode', label: '分页样式', rules: true, tooltip: '页码选择方式',
        valueEnum: MappingData.DevConfig__PaginationMode
    },
    {
        span: 24, formType: 'RADIO', name: 'PaginationShowInfo', label: '页面信息', rules: true, tooltip: '当前分页数和数据总数',
        valueEnum: MappingData.IsEnabledBool
    },
    {
        span: 24, formType: 'RADIO', name: 'PaginationShowNavigationButtons', label: '导航按钮', rules: true, tooltip: '上一页下一页按钮',
        valueEnum: MappingData.IsEnabledBool
    },
    {
        span: 24, formType: 'RADIO', name: 'PaginationShowPageSizeSelector', label: '条数选择器', rules: true, tooltip: '是否显示可选分页数',
        valueEnum: MappingData.IsEnabledBool
    },
    { formType: 'TempTitle', label: '组织机构', name: 2 },
    { span: 24, formType: 'INPUT', name: 'orgUrl', label: '接口地址', rules: true, tooltip: '机构数据' },
    { span: 24, formType: 'RADIO', name: 'orgMethod', label: '请求方式', rules: true, valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'orgParams', label: '额外参数', tooltip: '每次请求自动带入参数' },
    { span: 24, formType: 'RADIO', name: 'isSearch', label: '搜索窗口', rules: true, valueEnum: MappingData.IsEnabledBool, tooltip: '机构树是否可搜索' },
    {
        span: 24, formType: 'LIST', name: 'searchArr', label: '搜索字段', jugdeField: 'isSearch', jugdeValue: [true],
        children: [
            { span: 24, formType: 'INPUT', name: 'key', label: '字段', rules: true },
            { span: 24, formType: 'INPUT', name: 'label', label: '映射', rules: true },
            { span: 24, formType: 'SELECT', name: 'type', label: '类型', rules: true, valueEnum: MappingData.Form__TypeList },
            {
                span: 24, formType: 'RADIO', name: 'enum', label: '映射类型', rules: true, valueEnum: MappingData.System__MappingType,
                jugdeField: 'type', jugdeValue: FlowMenuAPIFieldJugdeValue
            },
            {
                span: 24, formType: 'SELECT', name: 'localMapping', label: '类型', rules: true, valueEnum: MappingData.System__MappingEnum,
                jugdeField: 'enum', jugdeValue: ['local']
            },
            { span: 24, formType: 'INPUT', name: 'onLineApiUrl', label: '线上接口', rules: true, jugdeField: 'enum', jugdeValue: ['onLine'] },
            { span: 24, formType: 'INPUT', name: 'onLineParams', label: '线上参数', rules: true, jugdeField: 'enum', jugdeValue: ['onLine'] },
        ]
    },
]
// 字段设置
const FlowMenuAPIField = [
    { formType: 'TempTitle', label: '类型设置', name: 1 },
    {
        span: 24, formType: 'SELECT', name: 'valueType', label: '数据类型', rules: true, tooltip: '新增修改使用Form类型',
        valueEnum: MappingData.Form__TypeList
    },
    {
        span: 24, formType: 'INPUT', name: 'urlLink', label: '跳转链接',
        jugdeField: 'valueType', jugdeValue: ['TempInputLink']
    },
    {
        span: 24, formType: 'INPUT', name: 'urlBtn', label: '跳转名称',
        jugdeField: 'valueType', jugdeValue: ['TempInputLink']
    },
    // 文件上传
    {
        span: 24, formType: 'NUMBER', name: 'max', label: '最大附件数量', rules: true, tooltip: '附件类型的上传最大数量',
        jugdeField: 'valueType', jugdeValue: ['UPLOAD']
    },
    {
        span: 24, formType: 'SELECTM', name: 'fileType', label: '映射类型', rules: true, tooltip: '可上传附件类型',
        valueEnum: MappingData.System__FileType, jugdeField: 'valueType', jugdeValue: ['UPLOAD']
    },
    {
        span: 24, formType: 'NUMBER', name: 'fileSize', label: '体积限制(G)', rules: true, tooltip: '上传附件最大体积限制',
        jugdeField: 'valueType', jugdeValue: ['UPLOAD']
    },


    {
        span: 24, formType: 'RADIO', name: 'mappingType', label: '映射类型', rules: true, tooltip: '将字符映射为中文',
        valueEnum: MappingData.System__MapType
    },
    // 数据映射
    {
        span: 24, formType: 'SELECT', name: 'mappingData', label: '数据映射', rules: true, tooltip: '将字符映射为中文',
        valueEnum: MappingData.System__MappingEnum, jugdeField: 'mappingType', jugdeValue: ['DataMapping']
    },
    {
        span: 24, formType: 'INPUT', name: 'mappingApi', label: '数据接口', rules: true,
        jugdeField: 'mappingType', jugdeValue: ['ApiMapping']
    },
    {
        span: 24, formType: 'INPUT', name: 'mappingPar', label: '数据参数',
        jugdeField: 'mappingType', jugdeValue: ['ApiMapping']
    },
    {
        span: 24, formType: 'INPUT', name: 'mappingParExtra', label: '额外渲染',
        jugdeField: 'mappingType', jugdeValue: ['ApiMapping']
    },

    {
        span: 24, formType: 'INPUT', name: 'mappingValue', label: '映射键', rules: true,
        jugdeField: 'valueType', jugdeValue: FlowMenuAPIFieldJugdeValue
    },
    {
        span: 24, formType: 'INPUT', name: 'mappingLable', label: '映射值', rules: true,
        jugdeField: 'valueType', jugdeValue: FlowMenuAPIFieldJugdeValue
    },
    {
        span: 24, formType: 'RADIO', name: 'tooltipStatus', label: '提示信息', rules: true, tooltip: '新增修改时提示信息',
        valueEnum: MappingData.IsEnabledBool
    },
    {
        span: 24, formType: 'INPUT', name: 'tooltip', label: '提示内容', rules: true,
        jugdeField: 'tooltipStatus', jugdeValue: [true]
    },
    { formType: 'TempTitle', label: '列设置', name: 2 },
    {
        span: 24, formType: 'RADIO', name: 'allowResizing', label: '改变列宽', rules: true,
        valueEnum: MappingData.IsYesBool
    },
    { span: 24, formType: 'NUMBER', name: 'width', label: '默认列宽', rules: true },
    {
        span: 24, formType: 'NUMBER', name: 'minWidth', label: '最小列宽', rules: true,
        jugdeField: 'allowResizing', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'alignment', label: '对齐方式', rules: true,
        valueEnum: MappingData.System__AlignmentLCR
    },
    {
        span: 24, formType: 'RADIO', name: 'fixed', label: '是否固定', rules: true,
        valueEnum: MappingData.IsYesBool
    },
    {
        span: 24, formType: 'RADIO', name: 'fixedPosition', label: '固定位置', rules: true,
        valueEnum: MappingData.System__FexedPosition,
        jugdeField: 'fixed', jugdeValue: [true]
    },
    { formType: 'TempTitle', label: '功能设置', name: 3 },
    {
        span: 24, formType: 'RADIO', name: 'allowGrouping', label: '能否分组', rules: true,
        valueEnum: MappingData.IsYesBool
    },
    {
        span: 24, formType: 'RADIO', name: 'autoExpandGroup', label: '自动展开', rules: true,
        valueEnum: MappingData.IsYesBool,
        jugdeField: 'allowGrouping', jugdeValue: [true]
    },
    // {
    //     span: 24, formType: 'NUMBER', name: 'groupIndex', label: '分组排序', rules: true, tooltip: '自动分组时的排序(0为不分组)',
    //     jugdeField: 'allowGrouping', jugdeValue: [true]
    // },
    { formType: 'TempTitle', label: '排序&搜索', name: 101 },
    {
        span: 24, formType: 'RADIO', name: 'allowReordering', label: '调整位置', rules: true,
        valueEnum: MappingData.IsYesBool
    },
    {
        span: 24, formType: 'RADIO', name: 'allowSorting', label: '调整排序', rules: true,
        valueEnum: MappingData.IsYesBool
    },
    // { span: 24, formType: 'NUMBER', name: 'defaultSortIndex', label: '排序顺序', rules: true },
    {
        span: 24, formType: 'RADIO', name: 'defaultSortOrder', label: '排序方式', rules: true,
        valueEnum: MappingData.System__SortOrder
    },
    {
        span: 24, formType: 'RADIO', name: 'allowHeaderFiltering', label: '筛选器', rules: true,
        valueEnum: MappingData.IsEnabledBool
    },
    {
        span: 24, formType: 'RADIO', name: 'allowFiltering', label: '行内筛选', rules: true,
        valueEnum: MappingData.IsEnabledBool
    },
    {
        span: 24, formType: 'RADIO', name: 'showInColumnChooser', label: '列选择器', rules: true,
        valueEnum: MappingData.IsEnabledBool
    },
    //渲染判断
    { formType: 'TempTitle', label: '渲染判断', name: 'renderJudge' },
    {
        span: 24, formType: 'RADIO', name: 'judge', label: '是否启用', rules: true, tooltip: '根据数据中某一字段的值判断渲染',
        valueEnum: MappingData.IsEnabledBool
    },
    {
        span: 24, formType: 'INPUT', name: 'jugdeField', label: '判断字段', rules: true,
        jugdeField: 'judge', jugdeValue: [true]
    },
    {
        span: 24, formType: 'INPUT', name: 'jugdeValue', label: '判断值', rules: true,
        jugdeField: 'judge', jugdeValue: [true]
    },
    // 字段格式化设置
    { formType: 'TempTitle', label: '数值格式化', name: 'fieldFormat' },
    {
        span: 24, formType: 'RADIO', name: 'format', label: '是否启用', rules: true,
        valueEnum: MappingData.IsEnabledBool
    },
    {
        span: 24, formType: 'RADIO', name: 'formatType', label: '格式化类型', rules: true, valueEnum: MappingData.DevConfig__NumberFormat,
        jugdeField: 'format', jugdeValue: [true]
    },
    { span: 24, formType: 'INPUT', name: 'formatPrecision', label: '数值精度', rules: true, jugdeField: 'format', jugdeValue: [true] },
    { formType: 'TempTitle', label: '额外模板', name: 'fieldTemp' },
    { span: 24, formType: 'RADIO', name: 'cellRender', label: '额外渲染', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'SELECT', name: 'cellRenderTemp', label: '渲染模板', rules: true, valueEnum: MappingData.Style__FormatTemp,
        jugdeField: 'cellRender', jugdeValue: [true]
    },
    { span: 24, formType: 'INPUT', name: 'dateRender', label: '时间格式', rules: true, jugdeField: 'cellRenderTemp', jugdeValue: ['date'] },

    // 统计设置 DataGrid 独有
    { formType: 'TempTitle', label: '统计设置(列表模板独占)', name: 'SummaryTemplate' },
    { span: 24, formType: 'RADIO', name: 'totalItemStatus', label: '总体统计', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'SELECT', name: 'totalSummaryType', label: '统计方式', rules: true, valueEnum: MappingData.System__summaryType,
        jugdeField: 'totalItemStatus', jugdeValue: [true]
    },
    { span: 24, formType: 'INPUT', name: 'totalDisplayFormat', label: '描述文字', rules: true, jugdeField: 'totalItemStatus', jugdeValue: [true] },
    { span: 24, formType: 'INPUT', name: 'totalShowInColumn', label: '显示位置', rules: true, jugdeField: 'totalItemStatus', jugdeValue: [true] },
    {
        span: 24, formType: 'RADIO', name: 'totalAlignment', label: '对齐方式', rules: true, valueEnum: MappingData.System__AlignmentLCR,
        jugdeField: 'totalItemStatus', jugdeValue: [true]
    },
    { span: 24, formType: 'RADIO', name: 'groupItemStatus', label: '分组统计', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'SELECT', name: 'groupSummaryType', label: '统计方式', rules: true, valueEnum: MappingData.System__summaryType,
        jugdeField: 'groupItemStatus', jugdeValue: [true]
    },
    { span: 24, formType: 'INPUT', name: 'groupDisplayFormat', label: '描述文字', rules: true, jugdeField: 'groupItemStatus', jugdeValue: [true] },
]

// 查询字段
const SearchFiledForm = [
    { span: 12, formType: 'INPUT', name: 'value', label: '搜索字段', rules: true },
    { span: 12, formType: 'INPUT', name: 'label', label: '中文映射', rules: true },
    { span: 12, formType: 'RADIO', name: 'isSystem', label: '匹配系统字段', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 12, formType: 'SELECT', name: 'valueType', label: '数据类型', rules: true, valueEnum: MappingData.Form__TypeList,
        jugdeField: 'isSystem', jugdeValue: [false]
    },
]

// 查询字段
const SortFiledForm = [
    { span: 8, formType: 'INPUT', name: 'value', label: '搜索字段', rules: true },
    { span: 8, formType: 'INPUT', name: 'label', label: '中文映射', rules: true },
    { span: 8, formType: 'RADIO', name: 'sort', label: '排序方式', rules: true, valueEnum: MappingData.System__SortOrderNot }
]

// 模板设置
const FlowMenuTempConfig = [
    { span: 24, formType: 'RADIO', name: 'devTemplate', label: 'Dev模板', rules: true, valueEnum: MappingData.DevConfig__DevTemplate },

    {
        span: 24, formType: 'RADIO', name: 'orgTree', label: '组织机构', rules: true, valueEnum: MappingData.IsEnabledBool
    },
    // {
    //     span: 24, formType: 'RADIO', name: 'devTh', label: '多层列头', rules: true, valueEnum: MappingData.IsEnabledBool,
    //     jugdeField: 'devTemplate', jugdeValue: ['DevExtremeDataGrid']
    // },
    // {
    //     span: 24, formType: 'RADIO', name: 'devSum', label: '统计数据', rules: true, valueEnum: MappingData.IsEnabledBool,
    //     jugdeField: 'devTemplate', jugdeValue: ['DevExtremeDataGrid']
    // },

    { span: 24, formType: 'RADIO', name: 'topTemplate', label: '头部菜单', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'RADIO', name: 'leftTemplate', label: '左侧菜单', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'devTemplate', jugdeValue: ['DevExtremeDataGrid', 'DevExtremeTreeGrid']
    },
    {
        span: 24, formType: 'RADIO', name: 'rowTemplate', label: '行内菜单', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'devTemplate', jugdeValue: ['DevExtremeDataGrid', 'DevExtremeTreeGrid']
    },
    {
        span: 24, formType: 'RADIO', name: 'popTemplate', label: '右键菜单', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'devTemplate', jugdeValue: ['DevExtremeDataGrid', 'DevExtremeTreeGrid']
    },
]
// 数据模板设置
const FlowDataGridConfig = [
    { span: 24, formType: 'RADIO', name: 'focusedRowEnabled', label: '聚焦选中', rules: true, valueEnum: MappingData.IsEnabledBool },
    // TODO
    { formType: 'TempTitle', label: '列宽', name: 'column' },
    { span: 24, formType: 'RADIO', name: 'showColumnHeaders', label: '列标题', rules: true, valueEnum: MappingData.IsShowBool },
    { span: 24, formType: 'RADIO', name: 'columnFixingEnabled', label: '固定列宽', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'allowColumnResizing', label: '调整列宽', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'RADIO', name: 'columnResizingMode', label: '列宽属性', rules: true, valueEnum: MappingData.DevConfig__ColumnResizing,
        jugdeField: 'allowColumnResizing', jugdeValue: [true]
    },
    // TODO
    { formType: 'TempTitle', label: '边框', name: 'border' },
    { span: 24, formType: 'RADIO', name: 'showBorders', label: '外边框', rules: true, valueEnum: MappingData.IsShowBool, },
    { span: 24, formType: 'RADIO', name: 'showRowLines', label: '底边框', rules: true, valueEnum: MappingData.IsShowBool, },
    { span: 24, formType: 'RADIO', name: 'showColumnLines', label: '竖边框', rules: true, valueEnum: MappingData.IsShowBool, },
    { span: 24, formType: 'RADIO', name: 'rowAlternationEnabled', label: '斑马格', rules: true, valueEnum: MappingData.IsShowBool, },
    // TODO
    { formType: 'TempTitle', label: '列选择器', name: 'columnChooser' },
    { span: 24, formType: 'RADIO', name: 'columnChooserEnabled', label: '是否启用', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'columnChooserTitle', label: '选择器标题', rules: true, jugdeField: 'columnChooserEnabled', jugdeValue: [true] },
    { span: 24, formType: 'NUMBER', name: 'columnChooserWidth', label: '选择器宽度', rules: true, jugdeField: 'columnChooserEnabled', jugdeValue: [true] },
    { span: 24, formType: 'NUMBER', name: 'columnChooserHeight', label: '选择器高度', rules: true, jugdeField: 'columnChooserEnabled', jugdeValue: [true] },
    {
        span: 24, formType: 'RADIO', name: 'columnChooserMode', label: '选择方式', rules: true, valueEnum: MappingData.DevConfig__ColumnChooserMode,
        jugdeField: 'columnChooserEnabled', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'columnChooserSearch', label: '字段搜索', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'columnChooserEnabled', jugdeValue: [true]
    },
    { span: 24, formType: 'NUMBER', name: 'columnChooserTimeout', label: '搜索延迟', rules: true, jugdeField: 'columnChooserEnabled', jugdeValue: [true] },
    { span: 24, formType: 'INPUT', name: 'columnChooserPlaceholder', label: '提示文字', rules: true, jugdeField: 'columnChooserEnabled', jugdeValue: [true] },
    {
        span: 24, formType: 'RADIO', name: 'ColumnChooserAllowSelectAll', label: '全选选项', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'columnChooserEnabled', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'ColumnChooserSelectByClick', label: '列互动', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'columnChooserEnabled', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'ColumnChooserRecursive', label: '递归查询', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'columnChooserEnabled', jugdeValue: [true]
    },
    // TODO
    { formType: 'TempTitle', label: '分组面板', name: 'GroupPanel' },
    { span: 24, formType: 'RADIO', name: 'GroupPanelVisible', label: '是否启用', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'RADIO', name: 'GroupPanelAutoExpandAll', label: '默认展开', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'GroupPanelVisible', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'GroupPanelAllowColumnDragging', label: '拖动分组', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'GroupPanelVisible', jugdeValue: [true]
    },
    { span: 24, formType: 'INPUT', name: 'GroupPanelEmptyPanelText', label: '面板文字', rules: true, jugdeField: 'GroupPanelVisible', jugdeValue: [true] },
    {
        span: 24, formType: 'RADIO', name: 'GroupingAllowCollapsing', label: '能否折叠', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'GroupPanelVisible', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'GroupingAutoExpandAll', label: '默认展开', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'GroupPanelVisible', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'GroupingContextMenuEnabled', label: '右键取消', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'GroupPanelVisible', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'GroupingExpandMode', label: '展开方式', rules: true, valueEnum: MappingData.DevConfig__GroupingExpandMode,
        jugdeField: 'GroupPanelVisible', jugdeValue: [true]
    },

    // TODO
    { formType: 'TempTitle', label: '排序设置', name: 'Sorting' },
    { span: 24, formType: 'RADIO', name: 'Sortingmode', label: '排序设置', rules: true, valueEnum: MappingData.DevConfig__SortingMode, },
    {
        span: 24, formType: 'RADIO', name: 'SortingshowSortIndexes', label: '序号文字', rules: true, valueEnum: MappingData.IsShowBool,
        jugdeField: 'Sortingmode', jugdeValue: ['multiple']
    },
    { span: 24, formType: 'INPUT', name: 'SortingascendingText', label: '升序文字', rules: true, jugdeField: 'Sortingmode', jugdeValue: ['single', 'multiple'] },
    { span: 24, formType: 'INPUT', name: 'SortingdescendingText', label: '降序文字', rules: true, jugdeField: 'Sortingmode', jugdeValue: ['single', 'multiple'] },
    { span: 24, formType: 'INPUT', name: 'SortingclearText', label: '清除文字', rules: true, jugdeField: 'Sortingmode', jugdeValue: ['single', 'multiple'] },
    // TODO
    { formType: 'TempTitle', label: '选择设置', name: 'selection' },
    { span: 24, formType: 'RADIO', name: 'SelectionMode', label: '选择方式', rules: true, valueEnum: MappingData.DevConfig__SelectionMode, },
    {
        span: 24, formType: 'RADIO', name: 'SelectionAllowSelectAll', label: '全选操作', rules: true, valueEnum: MappingData.IsShowBool,
        jugdeField: 'SelectionMode', jugdeValue: ['multiple']
    },
    {
        span: 24, formType: 'RADIO', name: 'SelectionSelectAllMode', label: '全选方式', rules: true, valueEnum: MappingData.DevConfig__SelectionSelectAllMode,
        jugdeField: 'SelectionMode', jugdeValue: ['multiple']
    },
    {
        span: 24, formType: 'RADIO', name: 'SelectionShowCheckBoxesMode', label: '选择方式', rules: true, valueEnum: MappingData.DevConfig__SelectionShowCheckBoxesMode,
        jugdeField: 'SelectionMode', jugdeValue: ['multiple']
    },
    // TODO
    { formType: 'TempTitle', label: '过滤器', name: 'HeaderFilter' },
    { span: 24, formType: 'RADIO', name: 'HeaderFilterVisible', label: '是否启用', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'RADIO', name: 'HeaderFilterAllowSelectAll', label: '全选按钮', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'HeaderFilterVisible', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'HeaderFilterEnabled', label: '搜索窗口', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'HeaderFilterVisible', jugdeValue: [true]
    },
    { span: 24, formType: 'NUMBER', name: 'HeaderFilterWidth', label: '整体宽度', rules: true, jugdeField: 'HeaderFilterVisible', jugdeValue: [true] },
    { span: 24, formType: 'NUMBER', name: 'HeaderFilterHeight', label: '整体高度', rules: true, jugdeField: 'HeaderFilterVisible', jugdeValue: [true] },
    // TODO
    { formType: 'TempTitle', label: '头部搜索', name: 'SearchPanel' },
    { span: 24, formType: 'RADIO', name: 'SearchPanelVisible', label: '是否启用', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'RADIO', name: 'SearchPanelHighlightCaseSensitive', label: '区分大小写', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'SearchPanelVisible', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'SearchPanelHighlightSearchText', label: '结果染色', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'SearchPanelVisible', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'SearchPanelSearchVisibleColumnsOnly', label: '搜索所有列', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'SearchPanelVisible', jugdeValue: [true]
    },
    { span: 24, formType: 'INPUT', name: 'SearchPanelPlaceholder', label: '占位符', rules: true, jugdeField: 'SearchPanelVisible', jugdeValue: [true] },
    { span: 24, formType: 'INPUT', name: 'SearchPanelText', label: '默认搜索值', jugdeField: 'SearchPanelVisible', jugdeValue: [true] },
    { span: 24, formType: 'NUMBER', name: 'SearchPanelWidth', label: '框体宽度', rules: true, jugdeField: 'SearchPanelVisible', jugdeValue: [true] },
    // TODO
    { formType: 'TempTitle', label: '行内搜索', name: 'FilterRow' },
    { span: 24, formType: 'RADIO', name: 'FilterRowVisible', label: '是否启用', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'RADIO', name: 'FilterRowApplyFilter', label: '触发方式', rules: true, valueEnum: MappingData.DevConfig__FilterRowApplyFilter,
        jugdeField: 'FilterRowVisible', jugdeValue: [true]
    },
    { span: 24, formType: 'INPUT', name: 'FilterRowApplyFilterText', label: '按钮提示', rules: true, jugdeField: 'FilterRowVisible', jugdeValue: [true] },
    // TODO
    { formType: 'TempTitle', label: '导出设置', name: 'Export' },
    { span: 24, formType: 'RADIO', name: 'ExportEnabled', label: '是否启用', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'RADIO', name: 'ExportAllowExportSelectedData', label: '全部导出', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'ExportEnabled', jugdeValue: [true]
    },
    {
        span: 24, formType: 'SELECTM', name: 'ExportFormats', label: '导出类型', rules: true, valueEnum: MappingData.DevConfig__ExportFormats,
        jugdeField: 'ExportEnabled', jugdeValue: [true]
    },
]
// 树形模板
const FlowTreeGridConfig = [
    { span: 24, formType: 'RADIO', name: 'focusedRowEnabled', label: '聚焦选中', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'autoExpandAll', label: '全部展开', rules: true, valueEnum: MappingData.IsOpenBool },
    // TODO
    { formType: 'TempTitle', label: '列宽', name: 'column' },
    { span: 24, formType: 'RADIO', name: 'showColumnHeaders', label: '列标题', rules: true, valueEnum: MappingData.IsShowBool },
    { span: 24, formType: 'RADIO', name: 'columnFixingEnabled', label: '固定列宽', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'allowColumnResizing', label: '调整列宽', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'RADIO', name: 'columnResizingMode', label: '列宽属性', rules: true, valueEnum: MappingData.DevConfig__ColumnResizing,
        jugdeField: 'allowColumnResizing', jugdeValue: [true]
    },
    // TODO
    { formType: 'TempTitle', label: '边框', name: 'border' },
    { span: 24, formType: 'RADIO', name: 'showBorders', label: '外边框', rules: true, valueEnum: MappingData.IsShowBool, },
    { span: 24, formType: 'RADIO', name: 'showRowLines', label: '底边框', rules: true, valueEnum: MappingData.IsShowBool, },
    { span: 24, formType: 'RADIO', name: 'showColumnLines', label: '竖边框', rules: true, valueEnum: MappingData.IsShowBool, },
    { span: 24, formType: 'RADIO', name: 'rowAlternationEnabled', label: '斑马格', rules: true, valueEnum: MappingData.IsShowBool, },
    // TODO
    { formType: 'TempTitle', label: '列选择器', name: 'columnChooser' },
    { span: 24, formType: 'RADIO', name: 'columnChooserEnabled', label: '是否启用', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'columnChooserTitle', label: '选择器标题', rules: true, jugdeField: 'columnChooserEnabled', jugdeValue: [true] },
    { span: 24, formType: 'NUMBER', name: 'columnChooserWidth', label: '选择器宽度', rules: true, jugdeField: 'columnChooserEnabled', jugdeValue: [true] },
    { span: 24, formType: 'NUMBER', name: 'columnChooserHeight', label: '选择器高度', rules: true, jugdeField: 'columnChooserEnabled', jugdeValue: [true] },
    {
        span: 24, formType: 'RADIO', name: 'columnChooserMode', label: '选择方式', rules: true, valueEnum: MappingData.DevConfig__ColumnChooserMode,
        jugdeField: 'columnChooserEnabled', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'columnChooserSearch', label: '字段搜索', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'columnChooserEnabled', jugdeValue: [true]
    },
    { span: 24, formType: 'NUMBER', name: 'columnChooserTimeout', label: '搜索延迟', rules: true, jugdeField: 'columnChooserEnabled', jugdeValue: [true] },
    { span: 24, formType: 'INPUT', name: 'columnChooserPlaceholder', label: '提示文字', rules: true, jugdeField: 'columnChooserEnabled', jugdeValue: [true] },
    {
        span: 24, formType: 'RADIO', name: 'ColumnChooserAllowSelectAll', label: '全选选项', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'columnChooserEnabled', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'ColumnChooserSelectByClick', label: '列互动', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'columnChooserEnabled', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'ColumnChooserRecursive', label: '递归查询', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'columnChooserEnabled', jugdeValue: [true]
    },
    // TODO
    { formType: 'TempTitle', label: '排序设置', name: 'Sorting' },
    { span: 24, formType: 'RADIO', name: 'Sortingmode', label: '排序设置', rules: true, valueEnum: MappingData.DevConfig__SortingMode, },
    {
        span: 24, formType: 'RADIO', name: 'SortingshowSortIndexes', label: '序号文字', rules: true, valueEnum: MappingData.IsShowBool,
        jugdeField: 'Sortingmode', jugdeValue: ['multiple']
    },
    { span: 24, formType: 'INPUT', name: 'SortingascendingText', label: '升序文字', rules: true, jugdeField: 'Sortingmode', jugdeValue: ['single', 'multiple'] },
    { span: 24, formType: 'INPUT', name: 'SortingdescendingText', label: '降序文字', rules: true, jugdeField: 'Sortingmode', jugdeValue: ['single', 'multiple'] },
    { span: 24, formType: 'INPUT', name: 'SortingclearText', label: '清除文字', rules: true, jugdeField: 'Sortingmode', jugdeValue: ['single', 'multiple'] },
    // TODO
    { formType: 'TempTitle', label: '选择设置', name: 'selection' },
    { span: 24, formType: 'RADIO', name: 'SelectionMode', label: '选择方式', rules: true, valueEnum: MappingData.DevConfig__SelectionMode, },
    {
        span: 24, formType: 'RADIO', name: 'SelectionAllowSelectAll', label: '全选操作', rules: true, valueEnum: MappingData.IsShowBool,
        jugdeField: 'SelectionMode', jugdeValue: ['multiple']
    },
    {
        span: 24, formType: 'RADIO', name: 'SelectionSelectAllMode', label: '全选方式', rules: true, valueEnum: MappingData.DevConfig__SelectionSelectAllMode,
        jugdeField: 'SelectionMode', jugdeValue: ['multiple']
    },
    {
        span: 24, formType: 'RADIO', name: 'SelectionShowCheckBoxesMode', label: '选择方式', rules: true, valueEnum: MappingData.DevConfig__SelectionShowCheckBoxesMode,
        jugdeField: 'SelectionMode', jugdeValue: ['multiple']
    },
    // TODO
    { formType: 'TempTitle', label: '过滤器', name: 'HeaderFilter' },
    { span: 24, formType: 'RADIO', name: 'HeaderFilterVisible', label: '是否启用', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'RADIO', name: 'HeaderFilterAllowSelectAll', label: '全选按钮', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'HeaderFilterVisible', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'HeaderFilterEnabled', label: '搜索窗口', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'HeaderFilterVisible', jugdeValue: [true]
    },
    { span: 24, formType: 'NUMBER', name: 'HeaderFilterHeight', label: '整体高度', rules: true, jugdeField: 'HeaderFilterVisible', jugdeValue: [true] },
    { span: 24, formType: 'NUMBER', name: 'HeaderFilterWidth', label: '整体宽度', rules: true, jugdeField: 'HeaderFilterVisible', jugdeValue: [true] },
    // TODO
    { formType: 'TempTitle', label: '头部搜索', name: 'SearchPanel' },
    { span: 24, formType: 'RADIO', name: 'SearchPanelVisible', label: '是否启用', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'RADIO', name: 'SearchPanelHighlightCaseSensitive', label: '区分大小写', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'SearchPanelVisible', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'SearchPanelHighlightSearchText', label: '结果染色', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'SearchPanelVisible', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'SearchPanelSearchVisibleColumnsOnly', label: '搜索所有列', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'SearchPanelVisible', jugdeValue: [true]
    },
    { span: 24, formType: 'INPUT', name: 'SearchPanelPlaceholder', label: '占位符', rules: true, jugdeField: 'SearchPanelVisible', jugdeValue: [true] },
    { span: 24, formType: 'INPUT', name: 'SearchPanelText', label: '默认搜索值', jugdeField: 'SearchPanelVisible', jugdeValue: [true] },
    { span: 24, formType: 'NUMBER', name: 'SearchPanelWidth', label: '框体宽度', rules: true, jugdeField: 'SearchPanelVisible', jugdeValue: [true] },
    // TODO
    { formType: 'TempTitle', label: '行内搜索', name: 'FilterRow' },
    { span: 24, formType: 'RADIO', name: 'FilterRowVisible', label: '是否启用', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'RADIO', name: 'FilterRowApplyFilter', label: '触发方式', rules: true, valueEnum: MappingData.DevConfig__FilterRowApplyFilter,
        jugdeField: 'FilterRowVisible', jugdeValue: [true]
    },
    { span: 24, formType: 'INPUT', name: 'FilterRowApplyFilterText', label: '按钮提示', rules: true, jugdeField: 'FilterRowVisible', jugdeValue: [true] }
]
// OLAP模板
const FlowOLAPGridConfig = [
    { formType: 'TempTitle', label: '基础设置', name: 'base' },
    { span: 24, formType: 'RADIO', name: 'allowSorting', label: '是否排序', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'allowSortingBySummary', label: '是否统计', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'allowFiltering', label: '筛选器', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'allowExpandAll', label: '全部展开', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'showBorders', label: '表格边框', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'export', label: '导出功能', rules: true, valueEnum: MappingData.IsEnabledBool },

    { formType: 'TempTitle', label: '中控开关', name: 'fieldChooser' },
    { span: 24, formType: 'RADIO', name: 'fieldChooserEnabled', label: '是否启用', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'fieldChooserTitle', label: '面板标题', rules: true, jugdeField: 'fieldChooserEnabled', jugdeValue: [true] },
    {
        span: 24, formType: 'RADIO', name: 'fieldChooserLayout', label: '面板布局', rules: true, valueEnum: MappingData.DevConfig__FieldChooserLayout,
        jugdeField: 'fieldChooserEnabled', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'fieldChooserAllowSearch', label: '字段搜索', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'fieldChooserEnabled', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'fieldChooserApplyChangesMode', label: '应用模式', rules: true, valueEnum: MappingData.DevConfig__FieldChooserApplyChangesMode,
        jugdeField: 'fieldChooserEnabled', jugdeValue: [true]
    },
    { formType: 'TempTitle', label: '字段面板', name: 'fieldPanel' },
    { span: 24, formType: 'RADIO', name: 'fieldPanelVisible', label: '是否启用', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'RADIO', name: 'fieldPanelAllowFieldDragging', label: '拖动字段', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'fieldChooserEnabled', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'fieldPanelShowColumnFields', label: '列字段', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'fieldChooserEnabled', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'fieldPanelShowRowFields', label: '行字段', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'fieldChooserEnabled', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'fieldPanelShowDataFields', label: '数据字段', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'fieldChooserEnabled', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'fieldPanelShowFilterFields', label: '过滤字段', rules: true, valueEnum: MappingData.IsEnabledBool,
        jugdeField: 'fieldChooserEnabled', jugdeValue: [true]
    },
    { formType: 'TempTitle', label: '布局设置', name: 'Layout' },
    { span: 24, formType: 'RADIO', name: 'rowHeaderLayout', label: '布局方式', rules: true, valueEnum: MappingData.DevConfig__RowHeaderLayout },
    { span: 24, formType: 'RADIO', name: 'showTotalsPrior', label: '总计位置', rules: true, valueEnum: MappingData.DevConfig__ShowTotalsPrior },
    { span: 24, formType: 'RADIO', name: 'dataFieldArea', label: '字段位置', rules: true, valueEnum: MappingData.DevConfig__DataFieldArea },
    { span: 24, formType: 'RADIO', name: 'showColumnTotals', label: '行分组统计', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'showColumnGrandTotals', label: '行全部统计', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'showRowTotals', label: '行分组统计', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'showRowGrandTotals', label: '列全部统计', rules: true, valueEnum: MappingData.IsEnabledBool },
]

// Todo 头部样式
const FlowMenuTopStyle = [
    { formType: 'TempTitle', label: '主体设置', name: 1 },
    { span: 24, formType: 'COLOR', name: 'topBack', label: '背景颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'topPx', label: '高斯等级', rules: true },
    { span: 24, formType: 'SELECT', name: 'topShadow', label: '阴影等级', valueEnum: MappingData.Style__BoxShadow },
    { span: 24, formType: 'NUMBER', name: 'topPadding', label: '内填充', rules: true },
    { span: 24, formType: 'NUMBER', name: 'topMargin', label: '下间距', rules: true },
    { span: 24, formType: 'NUMBER', name: 'itemMargin', label: '选项间距', rules: true },
    { span: 24, formType: 'SELECT', name: 'itemOrder', label: '显示方式', valueEnum: MappingData.System__textIconOrder },
    { formType: 'TempTitle', label: '文字设置', name: 2 },
    { span: 24, formType: 'NUMBER', name: 'fontSize', label: '标题字号', rules: true },
    { span: 24, formType: 'SELECT', name: 'fontFamily', label: '标题字体', valueEnum: MappingData.Font__Family },
    { span: 24, formType: 'RADIO', name: 'fontWeight', label: '标题加粗', rules: true, valueEnum: MappingData.Font__WeightInt },
    { span: 24, formType: 'RADIO', name: 'fontStyle', label: '标题倾斜', rules: true, valueEnum: MappingData.Font__Style },
    { span: 24, formType: 'NUMBER', name: 'fontShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'fontShadowB', label: '阴影颜色', rules: true },
    { formType: 'TempTitle', label: '图标设置', name: 3 },
    { span: 24, formType: 'NUMBER', name: 'iconSize', label: '图标尺寸', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'iconShadowB', label: '阴影颜色', rules: true },
]
// Todo 左侧样式
const FlowMenuTreStyle = [
    // { span: 24, formType: 'RADIO', name: 'topTemplate', label: '头部模块', rules: true, valueEnum: MappingData.IsEnabledBool },
    { formType: 'TempTitle', label: '基础设置', name: 'base' },
    { span: 24, formType: 'NUMBER', name: 'size', label: '默认宽度', rules: true },
    { span: 24, formType: 'RADIO', name: 'resizable', label: '能否拖动', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'collapsible', label: '能否折叠', rules: true, valueEnum: MappingData.IsEnabledBool },
    { formType: 'TempTitle', label: '列表状态设置', name: 'setS' },
    { span: 24, formType: 'RADIO', name: 'isFold', label: '是否启用折叠', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'status', label: '默认折叠状态', rules: true, valueEnum: MappingData.IsOpenBool },
    { formType: 'TempTitle', label: '图标设置', name: 'icon' },
    { span: 24, formType: 'COLOR', name: 'iconColor', label: '图标颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconSize', label: '图标尺寸', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'iconShadowB', label: '阴影颜色', rules: true },
    { formType: 'TempTitle', label: '标题设置', name: 'text' },
    { span: 24, formType: 'COLOR', name: 'fontColor', label: '标题颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontSize', label: '标题字号', rules: true },
    { span: 24, formType: 'SELECT', name: 'fontFamily', label: '标题字体', valueEnum: MappingData.Font__Family },
    { span: 24, formType: 'RADIO', name: 'fontWeight', label: '标题加粗', rules: true, valueEnum: MappingData.Font__WeightInt },
    { span: 24, formType: 'RADIO', name: 'fontStyle', label: '标题倾斜', rules: true, valueEnum: MappingData.Font__Style },
    { span: 24, formType: 'NUMBER', name: 'fontShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'fontShadowB', label: '阴影颜色', rules: true },
    { span: 24, formType: 'COLOR', name: 'activeBack', label: '选中背景', rules: true },
    { span: 24, formType: 'COLOR', name: 'activeColor', label: '选中颜色', rules: true },
    { span: 24, formType: 'COLOR', name: 'activeShadowB', label: '选中阴影', rules: true },

]
// Todo 行内样式
const FlowMenuRowStyle = [
    { formType: 'TempTitle', label: '基础设置', name: 'base' },
    { span: 24, formType: 'RADIO', name: 'visible', label: '是否启用', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'caption', label: '标题', rules: true },
    { span: 24, formType: 'NUMBER', name: 'width', label: '宽度', rules: true },
    { span: 24, formType: 'NUMBER', name: 'minWidth', label: '最小宽度', rules: true },
    { span: 24, formType: 'RADIO', name: 'fixed', label: '是否固定', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'fixedPosition', label: '固定位置', rules: true, valueEnum: MappingData.System__FexedPosition },
    { span: 24, formType: 'RADIO', name: 'allowResizing', label: '调整宽度', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'allowReordering', label: '调整位置', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'alignment', label: '对齐方式', rules: true, valueEnum: MappingData.System__AlignmentLCR },
    { formType: 'TempTitle', label: '操作样式', name: 'options' },
    { span: 24, formType: 'NUMBER', name: 'itemMargin', label: '选项间距', rules: true },
    { span: 24, formType: 'SELECT', name: 'itemOrder', label: '显示方式', valueEnum: MappingData.System__textIconOrder },
    { span: 24, formType: 'NUMBER', name: 'fontSize', label: '标题字号', rules: true },
    { span: 24, formType: 'SELECT', name: 'fontFamily', label: '标题字体', valueEnum: MappingData.Font__Family },
    { span: 24, formType: 'RADIO', name: 'fontWeight', label: '标题加粗', rules: true, valueEnum: MappingData.Font__WeightInt },
    { span: 24, formType: 'RADIO', name: 'fontStyle', label: '标题倾斜', rules: true, valueEnum: MappingData.Font__Style },
    { span: 24, formType: 'NUMBER', name: 'fontShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'fontShadowB', label: '阴影颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconSize', label: '图标尺寸', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'iconShadowB', label: '阴影颜色', rules: true },
]

// Todo 弹窗样式
const FlowMenuPopStyle = [
    { span: 24, formType: 'RADIO', name: 'visible', label: '是否启用', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'SELECT', name: 'itemOrder', label: '显示方式', valueEnum: MappingData.System__textIconOrder },
    { span: 24, formType: 'NUMBER', name: 'fontSize', label: '标题字号', rules: true },
    { span: 24, formType: 'SELECT', name: 'fontFamily', label: '标题字体', valueEnum: MappingData.Font__Family },
    { span: 24, formType: 'RADIO', name: 'fontWeight', label: '标题加粗', rules: true, valueEnum: MappingData.Font__WeightInt },
    { span: 24, formType: 'RADIO', name: 'fontStyle', label: '标题倾斜', rules: true, valueEnum: MappingData.Font__Style },
    { span: 24, formType: 'NUMBER', name: 'fontShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'fontShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'fontShadowB', label: '阴影颜色', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconSize', label: '图标尺寸', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowX', label: '阴影X轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowY', label: '阴影Y轴', rules: true },
    { span: 24, formType: 'NUMBER', name: 'iconShadowS', label: '阴影尺寸', rules: true },
    { span: 24, formType: 'COLOR', name: 'iconShadowB', label: '阴影颜色', rules: true },
]

// Todo 树形操作
const FlowMenuTreClick = [
    { span: 24, formType: 'INPUT', name: 'url', label: '接口地址', rules: true },
    { span: 24, formType: 'RADIO', name: 'method', label: '请求方式', rules: true, valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'params', label: '额外参数' },

    { span: 24, formType: 'RADIO', name: 'isAdd', label: '参与新增', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'addParams', label: '新增字段', rules: true, jugdeField: 'isAdd', jugdeValue: [true] },

    { span: 24, formType: 'RADIO', name: 'isSearch', label: '搜索窗口', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'LIST', name: 'searchArr', label: '分组测试', jugdeField: 'isSearch', jugdeValue: [true],
        children: [
            { span: 24, formType: 'INPUT', name: 'key', label: '字段', rules: true },
            { span: 24, formType: 'INPUT', name: 'label', label: '映射名称', rules: true },
            { span: 24, formType: 'SELECT', name: 'type', label: '操作类型', rules: true, valueEnum: MappingData.Form__TypeList },
            {
                span: 24, formType: 'RADIO', name: 'enum', label: '映射类型', rules: true, valueEnum: MappingData.System__MappingType,
                jugdeField: 'type', jugdeValue: FlowMenuAPIFieldJugdeValue
            },
            {
                span: 24, formType: 'SELECT', name: 'localMapping', label: '类型', rules: true, valueEnum: MappingData.System__MappingEnum,
                jugdeField: 'enum', jugdeValue: ['local']
            },
            { span: 24, formType: 'INPUT', name: 'onLineApiUrl', label: '线上接口', rules: true, jugdeField: 'enum', jugdeValue: ['onLine'] },
            { span: 24, formType: 'INPUT', name: 'onLineParams', label: '线上参数', rules: true, jugdeField: 'enum', jugdeValue: ['onLine'] },
        ]
    },
]

// Todo 全局操作
const FlowMenuTopClick = [
    { formType: 'HIDDEN', name: 'uuid' },
    { span: 24, formType: 'HIDDEN', name: 'code', label: '操作类型' },
    { span: 24, formType: 'RADIO', name: 'position', label: '按钮位置', rules: true, valueEnum: MappingData.System__AlignmentLHR },
    { span: 24, formType: 'SELECT', name: 'type', label: '操作类型', rules: true, valueEnum: MappingData.System__TopOptionsType },
    { span: 24, formType: 'INPUT', name: 'title', label: '操作名称', rules: true },
    { span: 24, formType: 'TempICON', name: 'icon', label: '操作图标', rules: true },
    { span: 24, formType: 'COLOR', name: 'color', label: '操作颜色', rules: true },
    { span: 24, formType: 'INPUT', name: 'api', label: '调用接口' },
    { span: 24, formType: 'INPUT', name: 'tips', label: '补充说明' },
]

// 全局操作的详细属性
const CommonTopOption = [
    { formType: 'HIDDEN', name: 'uuid' },
    { span: 24, formType: 'RADIO', name: 'position', label: '按钮位置', rules: true, valueEnum: MappingData.System__AlignmentLHR },
    { span: 24, formType: 'SELECT', name: 'type', label: '操作类型', disabled: true, valueEnum: MappingData.System__TopOptionsType },
    { span: 24, formType: 'INPUT', name: 'title', label: '操作名称', rules: true },
    { span: 24, formType: 'TempICON', name: 'icon', label: '操作图标', rules: true },
    { span: 24, formType: 'COLOR', name: 'color', label: '操作颜色', rules: true },
    { span: 24, formType: 'INPUT', name: 'api', label: '调用接口' },
    { span: 24, formType: 'INPUT', name: 'tips', label: '补充说明' },
]

// 下拉分组
const A00Options = [
    ...CommonTopOption,
]

// 查看数据
const A01Options = [
    ...CommonTopOption,
]

// 新增
const A02Options = [
    ...CommonTopOption,
    { span: 24, formType: 'SELECT', name: 'addType', label: '新增方式', rules: true, valueEnum: MappingData.System__AddDataType },
    // form 添加
    {
        span: 24, formType: 'RADIO', name: 'formMethod', label: '请求方式', rules: true, valueEnum: MappingData.System__Method,
        jugdeField: 'addType', jugdeValue: ['form']
    },
    {
        span: 24, formType: 'INPUT', name: 'formUrl', label: '接口地址', rules: true,
        jugdeField: 'addType', jugdeValue: ['form']
    },
    {
        span: 24, formType: 'INPUT', name: 'formParams', label: '额外参数',
        jugdeField: 'addType', jugdeValue: ['form']
    },


    // excel 添加
    { span: 24, formType: 'RADIO', name: 'excelGetMethod', label: '获取方式', rules: true, valueEnum: MappingData.System__Method, jugdeField: 'addType', jugdeValue: ['excel'] },
    { span: 24, formType: 'INPUT', name: 'excelGetUrl', label: '获取EXCEL', rules: true, jugdeField: 'addType', jugdeValue: ['excel'] },
    { span: 24, formType: 'INPUT', name: 'excelGetParams', label: '获取时额外参数', jugdeField: 'addType', jugdeValue: ['excel'] },
    {
        span: 24, formType: 'RADIO', name: 'excelSaveMethod', label: '保存方式', rules: true, valueEnum: MappingData.System__Method,
        jugdeField: 'addType', jugdeValue: ['excel']
    },
    { span: 24, formType: 'INPUT', name: 'excelSaveUrl', label: '保存EXCEL', rules: true, jugdeField: 'addType', jugdeValue: ['excel'] },
    { span: 24, formType: 'INPUT', name: 'excelSaveParams', label: '保存时额外参数', jugdeField: 'addType', jugdeValue: ['excel'] },
    // 主数据字段
    { span: 24, formType: 'RADIO', name: 'isData', label: '是否使用菜单Uuid', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'dataKey', label: '使用字段', rules: true, jugdeField: 'isData', jugdeValue: [true] },
]


// 查询数据
const A03Options = [
    ...CommonTopOption,
]

// 排序数据
const A04Options = [
    ...CommonTopOption,
]

// 刷新数据
const A05Options = [
    ...CommonTopOption,
    { span: 24, formType: 'RADIO', name: 'search', label: '保留搜索条件', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'sort', label: '保留排序条件', rules: true, valueEnum: MappingData.IsEnabledBool },
]

// 导出数据
const A06Options = [
    ...CommonTopOption,
    { span: 24, formType: 'RADIO', name: 'getMethod', label: '获取方式', rules: true, valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'getUrl', label: '获取接口', rules: true },
    { span: 24, formType: 'INPUT', name: 'getParams', label: '额外参数' },
    { span: 24, formType: 'RADIO', name: 'saveMethod', label: '保存方式', valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'saveUrl', label: '保存接口' },
    { span: 24, formType: 'INPUT', name: 'saveParams', label: '额外参数' },
]

// 批量操作
const A07Options = [
    ...CommonTopOption,
    // 保存接口
    { span: 24, formType: 'RADIO', name: 'saveMethod', label: '保存方式', rules: true, valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'saveUrl', label: '保存接口', rules: true },
    { span: 24, formType: 'INPUT', name: 'saveParams', label: '额外参数' },
    { span: 24, formType: 'INPUT', name: 'saveKey', label: '保存字段', tooltip: '保存是数组的键' },
    { span: 24, formType: 'RADIO', name: 'bulkType', label: '批操类型', rules: true, valueEnum: MappingData.System__BulkOperationType },
    { span: 24, formType: 'INPUT', name: 'selectText', label: '操作提示', rules: true, jugdeField: 'bulkType', jugdeValue: ['select', 'confirm'] },


    // select 选择
    { span: 24, formType: 'INPUT', name: 'selectParams', label: '发送字段', rules: true, jugdeField: 'bulkType', jugdeValue: ['select'] },
    {
        span: 24, formType: 'LIST', name: 'selectArr', label: '操作组', jugdeField: 'bulkType', jugdeValue: ['select'],
        children: [
            { span: 24, formType: 'INPUT', name: 'value', label: '数据值', rules: true },
            { span: 24, formType: 'INPUT', name: 'label', label: '映射名称', rules: true },
            { span: 24, formType: 'RADIO', name: 'type', label: '按钮状态', rules: true, valueEnum: MappingData.System__ButtonStatus },
            { span: 24, formType: 'RADIO', name: 'danger', label: '危险按钮', rules: true, valueEnum: MappingData.IsEnabledBool },
        ]
    },
    // form 表单
    {
        span: 24, formType: 'LIST', name: 'formArr', label: '操作字段', jugdeField: 'bulkType', jugdeValue: ['form'],
        children: [
            { span: 24, formType: 'INPUT', name: 'dataField', label: '字段', rules: true },
            { span: 24, formType: 'INPUT', name: 'caption', label: '映射名称', rules: true },
            { span: 24, formType: 'SELECT', name: 'valueType', label: '数据类型', rules: true, valueEnum: MappingData.Form__TypeList },
            { span: 24, formType: 'RADIO', name: 'mappingType', label: '映射类型', rules: true, valueEnum: MappingData.System__MapType },
            {   // 数据映射
                span: 24, formType: 'SELECT', name: 'mappingData', label: '数据映射', rules: true, valueEnum: MappingData.System__MappingEnum,
                jugdeField: 'mappingType', jugdeValue: ['DataMapping']
            },
            { span: 24, formType: 'INPUT', name: 'mappingApi', label: '数据接口', rules: true, jugdeField: 'mappingType', jugdeValue: ['ApiMapping'] },
            { span: 24, formType: 'INPUT', name: 'mappingPar', label: '数据参数', jugdeField: 'mappingType', jugdeValue: ['ApiMapping'] },
            { span: 24, formType: 'INPUT', name: 'mappingValue', label: '映射键', rules: true, jugdeField: 'valueType', jugdeValue: FlowMenuAPIFieldJugdeValue },
            { span: 24, formType: 'INPUT', name: 'mappingLable', label: '映射值', rules: true, jugdeField: 'valueType', jugdeValue: FlowMenuAPIFieldJugdeValue },
            { span: 24, formType: 'RADIO', name: 'tooltipStatus', label: '提示信息', rules: true, valueEnum: MappingData.IsEnabledBool },
            { span: 24, formType: 'INPUT', name: 'tooltip', label: '数据接口', rules: true, jugdeField: 'tooltipStatus', jugdeValue: [true] },
        ]
    },
]

// 执行函数
const A08Options = [
    ...CommonTopOption,
    { span: 24, formType: 'SELECT', name: 'A08Type', label: '操作类型', rules: true, valueEnum: MappingData.System__TopOptionsFunc },
    // { span: 24, formType: 'RADIO', name: 'A08Mode', label: '操作类型', rules: true, valueEnum: MappingData.System__OptionsMode },
    { span: 24, formType: 'NUMBER', name: 'A08Width', label: '窗口宽度', jugdeField: 'A08Type', jugdeValue: ['A01', 'A04', 'A05'] },
    { span: 24, formType: 'INPUT', name: 'A08Params', label: '额外参数' },
]
// 窗口操作
const A09Options = [
    ...CommonTopOption,
    { span: 24, formType: 'RADIO', name: 'modelType', label: '打开方式', rules: true, valueEnum: MappingData.System__ModelType },
    { span: 24, formType: 'NUMBER', name: 'modelWidth', label: '窗体宽度' },
    { span: 24, formType: 'INPUT', name: 'openPage', label: '打开页面', rules: true },
    { span: 24, formType: 'INPUT', name: 'openType', label: '打开类型', rules: true },
]



// Todo 行内操作
const FlowMenuRowClick = [
    { span: 24, formType: 'HIDDEN', name: 'code', label: '操作类型' },
    { span: 24, formType: 'RADIO', name: 'judge', label: '判断渲染', rules: true, tooltip: '根据数据中某一字段的值判断渲染', valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'jugdeField', label: '判断字段', rules: true, jugdeField: 'judge', jugdeValue: [true] },
    { span: 24, formType: 'INPUT', name: 'jugdeValue', label: '判断值', rules: true, jugdeField: 'judge', jugdeValue: [true] },
    { span: 24, formType: 'SELECT', name: 'type', label: '操作类型', rules: true, valueEnum: MappingData.System__RowOptionsType },
    { span: 24, formType: 'INPUT', name: 'title', label: '操作名称', rules: true },
    { span: 24, formType: 'TempICON', name: 'icon', label: '操作图标', rules: true },
    { span: 24, formType: 'COLOR', name: 'color', label: '操作颜色', rules: true },
    { span: 24, formType: 'INPUT', name: 'api', label: '调用接口' },
    { span: 24, formType: 'INPUT', name: 'tips', label: '补充说明' },
]

// 全局操作的详细属性
const CommonRowOption = [
    { formType: 'HIDDEN', name: 'uuid' },
    { span: 24, formType: 'HIDDEN', name: 'code', label: '操作类型' },
    { span: 24, formType: 'RADIO', name: 'judge', label: '是否启用', rules: true, tooltip: '根据数据中某一字段的值判断渲染', valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'jugdeField', label: '判断字段', rules: true, jugdeField: 'judge', jugdeValue: [true] },
    { span: 24, formType: 'INPUT', name: 'jugdeValue', label: '判断值', rules: true, jugdeField: 'judge', jugdeValue: [true] },
    { span: 24, formType: 'SELECT', name: 'type', label: '操作类型', disabled: true, valueEnum: MappingData.System__RowOptionsType },
    { span: 24, formType: 'INPUT', name: 'title', label: '操作名称', rules: true },
    { span: 24, formType: 'TempICON', name: 'icon', label: '操作图标', rules: true },
    { span: 24, formType: 'COLOR', name: 'color', label: '操作颜色', rules: true },
    { span: 24, formType: 'INPUT', name: 'api', label: '调用接口' },
    { span: 24, formType: 'INPUT', name: 'tips', label: '补充说明' },
]

// 下拉分组
const B00Options = [
    ...CommonRowOption,
]

// 修改
const B01Options = [
    ...CommonRowOption,
    { span: 24, formType: 'SELECT', name: 'addType', label: '修改方式', rules: true, valueEnum: MappingData.System__AddDataType },
    // form 修改
    { span: 24, formType: 'RADIO', name: 'formMethod', label: '请求方式', rules: true, valueEnum: MappingData.System__Method, jugdeField: 'addType', jugdeValue: ['form'] },
    { span: 24, formType: 'INPUT', name: 'formUrl', label: '接口地址', rules: true, jugdeField: 'addType', jugdeValue: ['form'] },
    { span: 24, formType: 'INPUT', name: 'formParams', label: '额外参数', jugdeField: 'addType', jugdeValue: ['form'] },
    // excel 修改
    { span: 24, formType: 'RADIO', name: 'excelGetMethod', label: '获取方式', rules: true, valueEnum: MappingData.System__Method, jugdeField: 'addType', jugdeValue: ['excel'] },
    { span: 24, formType: 'INPUT', name: 'excelGetUrl', label: '获取EXCEL', rules: true, jugdeField: 'addType', jugdeValue: ['excel'] },
    { span: 24, formType: 'INPUT', name: 'excelGetParams', label: '获取时额外参数', jugdeField: 'addType', jugdeValue: ['excel'] },

    { span: 24, formType: 'RADIO', name: 'excelSaveMethod', label: '保存方式', rules: true, valueEnum: MappingData.System__Method, jugdeField: 'addType', jugdeValue: ['excel'] },
    { span: 24, formType: 'INPUT', name: 'excelSaveUrl', label: '保存EXCEL', rules: true, jugdeField: 'addType', jugdeValue: ['excel'] },
    { span: 24, formType: 'INPUT', name: 'excelSaveParams', label: '保存时额外参数', jugdeField: 'addType', jugdeValue: ['excel'] },
    // table 修改
]

// 删除
const B02Options = [
    ...CommonRowOption,
    { span: 24, formType: 'INPUT', name: 'deleteText', label: '删除提醒' },
    { span: 24, formType: 'RADIO', name: 'formMethod', label: '请求方式', rules: true, valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'formUrl', label: '接口地址', rules: true },
    { span: 24, formType: 'INPUT', name: 'formParams', label: '额外参数' },
]

const B03Options = [
    ...CommonRowOption,
]
// Excel
const B04Options = [
    ...CommonRowOption,
    { span: 24, formType: 'RADIO', name: 'getMethod', label: '获取方式', rules: true, valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'getUrl', label: '获取地址', rules: true },
    { span: 24, formType: 'INPUT', name: 'getParams', label: '额外参数' },
    { span: 24, formType: 'RADIO', name: 'isMaster', label: '是否使用主数据', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'masterField', label: '使用字段', jugdeField: 'isMaster', jugdeValue: [true] },
    { span: 24, formType: 'INPUT', name: 'masterMapping', label: '发送字段', jugdeField: 'isMaster', jugdeValue: [true] },

    { span: 24, formType: 'RADIO', name: 'saveMethod', label: '保存方式', valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'saveUrl', label: '保存地址' },
    { span: 24, formType: 'INPUT', name: 'saveParams', label: '额外参数' },
    { span: 24, formType: 'RADIO', name: 'saveMaster', label: '是否使用主数据', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'saveField', label: '使用字段', jugdeField: 'saveMaster', jugdeValue: [true] },
    { span: 24, formType: 'INPUT', name: 'saveMapping', label: '发送字段', jugdeField: 'saveMaster', jugdeValue: [true] },

]
const B05Options = [
    ...CommonRowOption,
]

// model弹窗
const B06Options = [
    ...CommonRowOption,
    { span: 24, formType: 'RADIO', name: 'modelType', label: '打开方式', rules: true, valueEnum: MappingData.System__ModelType },
    { span: 24, formType: 'NUMBER', name: 'modelWidth', label: '窗体宽度' },
    { span: 24, formType: 'INPUT', name: 'openPage', label: '打开页面', rules: true },
    { span: 24, formType: 'INPUT', name: 'openType', label: '打开类型', rules: true },
    // { span: 24, formType: 'INPUT', name: 'openType', label: '指定接口' },
]

// 穿梭框
const B07Options = [
    ...CommonRowOption,
    { span: 24, formType: 'RADIO', name: 'transferType', label: '渲染方式', rules: true, valueEnum: MappingData.System__TransferType },
    {
        span: 24, formType: 'LIST', name: 'searchArr', label: '分组测试', jugdeField: 'transferType', jugdeValue: ['table'],
        children: [
            { span: 24, formType: 'INPUT', name: 'dataIndex', label: '字段', rules: true },
            { span: 24, formType: 'INPUT', name: 'title', label: '映射名称', rules: true },
            { span: 24, formType: 'NUMBER', name: 'width', label: '字段宽度', rules: true },
        ]
    },

    {
        span: 24, formType: 'RADIO', name: 'orgJoin', label: '组织机构 - 外层参数', rules: true, tooltip: '获取时使用外层组织机构uuid',
        valueEnum: MappingData.IsEnabledBool
    },
    {
        span: 24, formType: 'RADIO', name: 'orgStatus', label: '组织机构 - 内层渲染', rules: true, tooltip: '内层使用新的组织机构',
        valueEnum: MappingData.IsEnabledBool
    },
    {
        span: 24, formType: 'INPUT', name: 'orgMapping', label: '组织机构 - 发送参数', rules: true, tooltip: '点击内部树发送的参数',
        jugdeField: 'orgStatus', jugdeValue: [true]
    },
    {
        span: 24, formType: 'RADIO', name: 'orgMethod', label: '组织机构 - 请求方式', rules: true,
        valueEnum: MappingData.System__Method,
        jugdeField: 'orgStatus', jugdeValue: [true]
    },
    {
        span: 24, formType: 'INPUT', name: 'orgUrl', label: '组织机构 - 接口地址', rules: true,
        jugdeField: 'orgStatus', jugdeValue: [true]
    },
    {
        span: 24, formType: 'INPUT', name: 'orgParams', label: '组织机构 - 额外参数',
        jugdeField: 'orgStatus', jugdeValue: [true]
    },
    { span: 24, formType: 'RADIO', name: 'orgKeyValue', label: '组织机构-字段映射', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'INPUT', name: 'orgKey', label: '组织机构 - 映射键',
        jugdeField: 'orgKeyValue', jugdeValue: [true]
    },
    {
        span: 24, formType: 'INPUT', name: 'orgValue', label: '组织机构 - 映射值',
        jugdeField: 'orgKeyValue', jugdeValue: [true]
    },

    { formType: 'TempTitle', label: '可选数据接口', name: 'transferApi1' },
    { span: 24, formType: 'RADIO', name: 'leftMethod', label: '可选接口-请求方式', rules: true, valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'leftUrl', label: '可选接口-接口地址', rules: true },
    { span: 24, formType: 'INPUT', name: 'leftParams', label: '可选接口-额外参数' },
    { span: 24, formType: 'RADIO', name: 'leftUuid', label: '可选接口-当前行Uuid', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'leftMapping', label: '可选接口-映射键名', jugdeField: 'leftUuid', jugdeValue: [true] },

    { formType: 'TempTitle', label: '已选数据接口', name: 'transferApi2' },
    { span: 24, formType: 'RADIO', name: 'rightMethod', label: '已选接口-请求方式', rules: true, valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'rightUrl', label: '已选接口-接口地址', rules: true },
    { span: 24, formType: 'INPUT', name: 'rightParams', label: '已选接口-额外参数' },
    { span: 24, formType: 'RADIO', name: 'rightUuid', label: '已选接口-当前行Uuid', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'rightMapping', label: '已选接口-映射键名', jugdeField: 'rightUuid', jugdeValue: [true] },

    { formType: 'TempTitle', label: '保存数据接口', name: 'transferApi3' },
    { span: 24, formType: 'RADIO', name: 'saveMethod', label: '保存接口-请求方式', rules: true, valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'saveUrl', label: '保存接口-接口地址', rules: true },
    { span: 24, formType: 'INPUT', name: 'saveParams', label: '保存接口-额外参数' },
    { span: 24, formType: 'INPUT', name: 'saveSelect', label: '已选接口-选中键名' },
    { span: 24, formType: 'RADIO', name: 'saveUuid', label: '已选接口-当前行Uuid', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'saveMapping', label: '已选接口-映射键名', jugdeField: 'saveUuid', jugdeValue: [true] },
]

// 执行函数
const B08Options = [
    ...CommonRowOption,
    { span: 24, formType: 'SELECT', name: 'B08Type', label: '操作类型', rules: true, valueEnum: MappingData.System__TopOptionsFunc },
    { span: 24, formType: 'NUMBER', name: 'B08Width', label: '窗口宽度', rules: true, jugdeField: 'B08Type', jugdeValue: ['B01'] },
    { span: 24, formType: 'INPUT', name: 'B08Params', label: '额外参数' },
]

// 查看列表
const B09Options = [
    ...CommonRowOption,
    { span: 24, formType: 'NUMBER', name: 'modelWidth', label: '窗体宽度' },

    { span: 24, formType: 'RADIO', name: 'devType', label: '表单类型', rules: true, valueEnum: MappingData.DevConfig__DevTemplateA02 },
    { span: 24, formType: 'RADIO', name: 'SelectionMode', label: '选择方式', rules: true, valueEnum: MappingData.DevConfig__SelectionMode },
    { span: 24, formType: 'RADIO', name: 'FilterRowVisible', label: '行内搜索', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'RADIO', name: 'allowColumnResizing', label: '调整列宽', rules: true, valueEnum: MappingData.IsEnabledBool },

    { span: 24, formType: 'RADIO', name: 'showBorders', label: '外边框', rules: true, valueEnum: MappingData.IsShowBool, },
    { span: 24, formType: 'RADIO', name: 'showRowLines', label: '底边框', rules: true, valueEnum: MappingData.IsShowBool, },
    { span: 24, formType: 'RADIO', name: 'showColumnLines', label: '竖边框', rules: true, valueEnum: MappingData.IsShowBool, },
    { span: 24, formType: 'RADIO', name: 'rowAlternationEnabled', label: '斑马格', rules: true, valueEnum: MappingData.IsShowBool, },

    { span: 24, formType: 'RADIO', name: 'getMethod', label: '获取方式', rules: true, valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'getUrl', label: '获取地址', rules: true },
    { span: 24, formType: 'INPUT', name: 'getParams', label: '额外参数' },
    { span: 24, formType: 'RADIO', name: 'saveMaster', label: '是否使用主数据', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'saveField', label: '使用字段', jugdeField: 'saveMaster', jugdeValue: [true] },
    { span: 24, formType: 'INPUT', name: 'saveMapping', label: '发送字段', jugdeField: 'saveMaster', jugdeValue: [true] },
    {
        span: 24, formType: 'LIST', name: 'searchArr', label: '显示字段',
        children: [
            { span: 24, formType: 'INPUT', name: 'dataField', label: '字段', rules: true },
            { span: 24, formType: 'INPUT', name: 'caption', label: '映射名称', rules: true },
            { span: 24, formType: 'NUMBER', name: 'width', label: '字段宽度', rules: true },
        ]
    }
]
// 新增子级
const B10Options = [
    ...CommonRowOption,
    { span: 24, formType: 'RADIO', name: 'formMethod', label: '请求方式', rules: true, valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'formUrl', label: '接口地址', rules: true },
    { span: 24, formType: 'INPUT', name: 'formParams', label: '额外参数' },
    { span: 24, formType: 'INPUT', name: 'parentUuid', label: '父级键名', rules: true },
]
// 执行接口
const B11Options = [
    ...CommonRowOption,
    { span: 24, formType: 'RADIO', name: 'formMethod', label: '请求方式', rules: true, valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'formUrl', label: '接口地址', rules: true },
    { span: 24, formType: 'INPUT', name: 'formParams', label: '额外参数' },
    { span: 24, formType: 'RADIO', name: 'isData', label: '是否使用主数据', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'LIST', name: 'dataArr', label: '额外主表数据', jugdeField: 'isData', jugdeValue: [true],
        children: [
            { span: 24, formType: 'INPUT', name: 'dataKey', label: '使用字段', rules: true },
            { span: 24, formType: 'INPUT', name: 'dataMap', label: '映射名称', rules: true },

        ]
    },
    {
        span: 24, formType: 'LIST', name: 'sendData', label: '发送数据',
        children: [
            { span: 24, formType: 'INPUT', name: 'key', label: '发送字段', rules: true },
            { span: 24, formType: 'INPUT', name: 'value', label: '发送值', rules: true },
        ]
    },
    { span: 24, formType: 'RADIO', name: 'isModel', label: '是否弹窗', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'NUMBER', name: 'modelWidth', label: '弹窗宽度', rules: true, jugdeField: 'isModel', jugdeValue: [true] },
    { span: 24, formType: 'INPUT', name: 'modelTips', label: '弹窗提示', rules: true, jugdeField: 'isModel', jugdeValue: [true] },
]
// 打开页面
const B12Options = [
    ...CommonRowOption,
    { span: 24, formType: 'INPUT', name: 'url', label: '菜单路由', rules: true },
    { span: 24, formType: 'SELECT', name: 'pageType', label: '页面类型', rules: true, valueEnum: MappingData.System__MenuType },

    { span: 24, formType: 'RADIO', name: 'isData', label: '是否使用主数据', rules: true, valueEnum: MappingData.IsEnabledBool },
    { span: 24, formType: 'INPUT', name: 'dataKey', label: '使用字段', rules: true, jugdeField: 'isData', jugdeValue: [true] },

    { span: 24, formType: 'INPUT', name: 'fieldTitle', label: '标题字段' },
    { span: 24, formType: 'INPUT', name: 'pageTitle', label: '额外标题' },

    { span: 24, formType: 'TempICON', name: 'pageIcon', label: '页面图标' },
]

// 单行审核A08
const B13Options = [
    ...CommonRowOption,
    // 保存接口
    { span: 24, formType: 'RADIO', name: 'saveMethod', label: '保存方式', rules: true, valueEnum: MappingData.System__Method },
    { span: 24, formType: 'INPUT', name: 'saveUrl', label: '保存接口', rules: true },
    { span: 24, formType: 'INPUT', name: 'saveParams', label: '额外参数' },
    { span: 24, formType: 'RADIO', name: 'bulkType', label: '批操类型', rules: true, valueEnum: MappingData.System__BulkOperationType },
    { span: 24, formType: 'INPUT', name: 'selectText', label: '操作提示', rules: true, jugdeField: 'bulkType', jugdeValue: ['select', 'confirm'] },
    { span: 24, formType: 'RADIO', name: 'isData', label: '是否使用主数据', rules: true, valueEnum: MappingData.IsEnabledBool },
    {
        span: 24, formType: 'LIST', name: 'dataArr', label: '额外主表数据', jugdeField: 'isData', jugdeValue: [true],
        children: [
            { span: 24, formType: 'INPUT', name: 'dataKey', label: '使用字段', rules: true },
            { span: 24, formType: 'INPUT', name: 'dataMap', label: '映射名称', rules: true },

        ]
    },
    // select 选择
    { span: 24, formType: 'INPUT', name: 'selectParams', label: '发送字段', rules: true, jugdeField: 'bulkType', jugdeValue: ['select'] },
    {
        span: 24, formType: 'LIST', name: 'selectArr', label: '操作组', jugdeField: 'bulkType', jugdeValue: ['select'],
        children: [
            { span: 24, formType: 'INPUT', name: 'value', label: '数据值', rules: true },
            { span: 24, formType: 'INPUT', name: 'label', label: '映射名称', rules: true },
            { span: 24, formType: 'RADIO', name: 'type', label: '按钮状态', rules: true, valueEnum: MappingData.System__ButtonStatus },
            { span: 24, formType: 'RADIO', name: 'danger', label: '危险按钮', rules: true, valueEnum: MappingData.IsEnabledBool },
        ]
    },
    // form 表单
    {
        span: 24, formType: 'LIST', name: 'formArr', label: '操作字段', jugdeField: 'bulkType', jugdeValue: ['form'],
        children: [
            { span: 24, formType: 'INPUT', name: 'dataField', label: '字段', rules: true },
            { span: 24, formType: 'INPUT', name: 'caption', label: '映射名称', rules: true },
            { span: 24, formType: 'SELECT', name: 'valueType', label: '数据类型', rules: true, valueEnum: MappingData.Form__TypeList },
            { span: 24, formType: 'RADIO', name: 'mappingType', label: '映射类型', rules: true, valueEnum: MappingData.System__MapType },
            {   // 数据映射
                span: 24, formType: 'SELECT', name: 'mappingData', label: '数据映射', rules: true, valueEnum: MappingData.System__MappingEnum,
                jugdeField: 'mappingType', jugdeValue: ['DataMapping']
            },
            { span: 24, formType: 'INPUT', name: 'mappingApi', label: '数据接口', rules: true, jugdeField: 'mappingType', jugdeValue: ['ApiMapping'] },
            { span: 24, formType: 'INPUT', name: 'mappingPar', label: '数据参数', jugdeField: 'mappingType', jugdeValue: ['ApiMapping'] },
            { span: 24, formType: 'INPUT', name: 'mappingValue', label: '映射键', rules: true, jugdeField: 'valueType', jugdeValue: FlowMenuAPIFieldJugdeValue },
            { span: 24, formType: 'INPUT', name: 'mappingLable', label: '映射值', rules: true, jugdeField: 'valueType', jugdeValue: FlowMenuAPIFieldJugdeValue },
            { span: 24, formType: 'RADIO', name: 'rules', label: '是否必选', rules: true, valueEnum: MappingData.IsEnabledBool },
            { span: 24, formType: 'RADIO', name: 'tooltipStatus', label: '提示信息', rules: true, valueEnum: MappingData.IsEnabledBool },

            { span: 24, formType: 'INPUT', name: 'tooltip', label: '数据接口', rules: true, jugdeField: 'tooltipStatus', jugdeValue: [true] },
            {
                span: 24, formType: 'RADIO', name: 'judge', label: '是否启用', rules: true, tooltip: '根据数据中某一字段的值判断渲染',
                valueEnum: MappingData.IsEnabledBool
            },
            {
                span: 24, formType: 'INPUT', name: 'jugdeField', label: '判断字段', rules: true,
                jugdeField: 'judge', jugdeValue: [true]
            },
            {
                span: 24, formType: 'INPUT', name: 'jugdeValue', label: '判断值', rules: true,
                jugdeField: 'judge', jugdeValue: [true]
            },
        ]
    },
]

// 子列表操作
const B14Options = [
    ...CommonRowOption,
    { span: 24, formType: 'RADIO', name: 'options', label: '操作方式', rules: true, valueEnum: MappingData.System__OptionsStatus },
    { span: 24, formType: 'SELECT', name: 'optionsType', label: '操作方式', rules: true, valueEnum: MappingData.System__OptionsType },

    {
        span: 24, formType: 'RADIO', name: ['batch', 'saveMethod'], label: '保存方式', rules: true, valueEnum: MappingData.System__Method,
        jugdeField: 'optionsType', jugdeValue: ['batch']
    },

    // { span: 24, formType: 'INPUT', name: 'saveUrl', label: '保存接口', rules: true },
    // { span: 24, formType: 'INPUT', name: 'saveParams', label: '额外参数' },
    // { span: 24, formType: 'RADIO', name: 'bulkType', label: '批操类型', rules: true, valueEnum: MappingData.System__BulkOperationType },
    // { span: 24, formType: 'INPUT', name: 'selectText', label: '操作提示', rules: true, jugdeField: 'bulkType', jugdeValue: ['select', 'confirm'] },
]

// 预览操作
const B15Options = [
    ...CommonRowOption,

    {
        span: 24, formType: 'LIST', name: 'renderArr', label: '渲染字段',
        children: [
            { span: 24, formType: 'INPUT', name: 'value', label: '字段', rules: true },
            { span: 24, formType: 'INPUT', name: 'label', label: '标题', rules: true },
            { span: 24, formType: 'RADIO', name: 'type', label: '类型', rules: true, valueEnum: MappingData.System__RowB15Type },
        ]
    },

]


// 多层列头添加分组字段
const SetAdminOptionsBands = [
    { span: 24, formType: 'INPUT', name: 'caption', label: '分组名称' },
    { span: 24, formType: 'RADIO', name: 'alignment', label: '对齐方式', rules: true, valueEnum: MappingData.System__AlignmentLCR },
    { span: 24, formType: 'RADIO', name: 'fixed', label: '是否固定', rules: true, valueEnum: MappingData.IsYesBool },
    {
        span: 24, formType: 'RADIO', name: 'fixedPosition', label: '固定位置', rules: true, valueEnum: MappingData.System__FexedPosition,
        jugdeField: 'fixed', jugdeValue: [true]
    },
]

// !!! 流程功能映射
export const FlowConfigMapping = [
    // TODO 主题设置
    { value: 'FlowThemeConfig', label: '主题设置' },
    { value: 'FlowThemeLogoBack', label: '主题 Logo 背景样式' },
    { value: 'FlowThemeLogoImage', label: '主题 Logo 图标样式' },
    { value: 'FlowThemeLogoContent', label: '主题 Logo 文字样式' },
    { value: 'FlowThemeMenuBack', label: '主题 Menu 背景样式' },
    { value: 'FlowThemeMenuIcon', label: '主题 Menu 图标样式' },
    { value: 'FlowThemeMenuText', label: '主题 Menu 文字样式' },
    { value: 'FlowThemeHeadBack', label: '主题 Head 背景样式' },
    { value: 'FlowThemeHeadTitle', label: '主题 Head 标题样式' },
    { value: 'FlowThemeHeadOptions', label: '主题 Head 操作样式' },
    { value: 'FlowThemeHeadUserInfo', label: '主题 Head 用户样式' },
    { value: 'FlowThemeBodyBack', label: '主题 Body 背景样式' },
    { value: 'FlowThemeBodyTabs', label: '主题 Body 标签设置' },
    // TODO 路由设置
    { value: 'FlowMenuAPIInterface', label: '路由 API 接口设置' },
    { value: 'FlowMenuAPIField', label: '路由 API 字段设置' },

    { value: 'FlowMenuTempConfig', label: '路由 TEMP 模板设置' },
    { value: 'FlowDataGridConfig', label: '路由 TEMP 数据模板' },
    { value: 'FlowTreeGridConfig', label: '路由 TEMP 树形模板' },
    { value: 'FlowOLAPGridConfig', label: '路由 TEMP OLAP模板' },

    { value: 'FlowMenuTopStyle', label: '路由 STYLE 头部样式' },
    { value: 'FlowMenuTreStyle', label: '路由 STYLE 左侧样式' },
    { value: 'FlowMenuRowStyle', label: '路由 STYLE 行内样式' },
    { value: 'FlowMenuPopStyle', label: '路由 STYLE 弹窗样式' },

    { value: 'FlowMenuTreClick', label: '路由 OPTIONS 树形操作' },
    { value: 'FlowMenuTopClick', label: '路由 OPTIONS 全局操作' },
    { value: 'FlowMenuRowClick', label: '路由 OPTIONS 行内操作' },
]

export const FlowThemeFormMapping = {
    FlowThemeConfig,
    FlowThemeLogoBack,
    FlowThemeLogoImage,
    FlowThemeLogoContent,
    FlowThemeMenuBack,
    FlowThemeMenuIcon,
    FlowThemeMenuText,
    FlowThemeHeadBack,
    FlowThemeHeadTitle,
    FlowThemeHeadOptions,
    FlowThemeHeadUserInfo,
    FlowThemeBodyBack,
    FlowThemeBodyTabs,

    FlowMenuAPIInterface,
    FlowMenuAPIField,
    FlowMenuTempConfig,

    FlowDataGridConfig,
    FlowTreeGridConfig,
    FlowOLAPGridConfig,

    FlowMenuTopStyle,
    FlowMenuTreStyle,
    FlowMenuRowStyle,
    FlowMenuPopStyle,

    FlowMenuTopClick,
    FlowMenuTreClick,
    FlowMenuRowClick,

    A00Options,
    A01Options,
    A02Options,
    A03Options,
    A04Options,
    A05Options,
    A06Options,
    A07Options,
    A08Options,
    A09Options,

    B00Options,
    B01Options,
    B02Options,
    B03Options,
    B04Options,
    B05Options,
    B06Options,
    B07Options,
    B08Options,
    B09Options,
    B10Options,
    B11Options,
    B12Options,
    B13Options,
    B14Options,
    B15Options,

    SearchFiledForm,
    SortFiledForm,
    SetAdminOptionsBands

}

export const FlowMenuMapping = {
    FlowMenuAPIInterface: { uuid: 'API', type: 'form' },
    FlowMenuAPIField: { uuid: 'API', type: 'field' },
    FlowMenuTempConfig: { uuid: 'TEM', type: 'form' },
    FlowDataGridConfig: { uuid: 'TEM', type: 'form' },
    FlowTreeGridConfig: { uuid: 'TEM', type: 'form' },
    FlowOLAPGridConfig: { uuid: 'TEM', type: 'form' },

    FlowMenuTopStyle: { uuid: 'TEM', type: 'form' },
    FlowMenuTreStyle: { uuid: 'TEM', type: 'form' },
    FlowMenuRowStyle: { uuid: 'TEM', type: 'form' },
    FlowMenuPopStyle: { uuid: 'TEM', type: 'form' },

    FlowMenuTreClick: { uuid: 'OPT', type: 'form' },
    FlowMenuTopClick: { uuid: 'OPT', type: 'option', subset: 'top' },
    FlowMenuRowClick: { uuid: 'OPT', type: 'option', subset: 'row' },

}